Communication between computers has become an important aspect of everyday life in both private and business environments. Computers converse with each other based upon a physical medium for transmitting the messages back and forth, and upon a set of rules implemented by electronic hardware attached to and programs running on the computers. These rules, often called protocols, define the orderly transmission and receipt of messages in a network of connected computers.
The use of multiple processors in a single system is well-known in the field of data processing systems, and the resulting systems are called multiprocessor systems. As data processing systems have expanded to incorporate multiprocessors, communication systems for allowing communication between the multiple processors have been proposed. The multiprocessor communication systems must be continually improved to allow for greater data processing capacity and faster speeds the multiprocessor environment is capable of delivering.